import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

// 插件
import './plugin'
// 引入全局组件
import './globalcmp'
// 过滤器
import './filter'
import ElementUI from 'element-ui'
import './styles.scss'
import './plugins/element.js'

import './mixin/siteMixin'

import './permission'

Vue.use(ElementUI)




// 在定义的固定路由规则中没有的，此规则后续添加给当前的项目的
// 动态路由 ===> 路由权限
// let adminRoute = router.options.routes[0]
// adminRoute.children.unshift({
//   path: 'nowplaying',
//   component: () => import('@/views/nowplaying')
// })
// // 动态添加一个新的路由
// router.addRoute(adminRoute)

// let adminRoute = router.options.routes[0]
// adminRoute.children.unshift(...dyroutes)
// // 动态添加一个新的路由
// router.addRoute(adminRoute)


// let adminRoute = router.options.routes[0]
// let newRoutes = dyroutes.filter(item => store.getters.routes.includes('/admin/' + item.path))
// adminRoute.children.unshift(...newRoutes)
// // 动态添加一个新的路由
// router.addRoute(adminRoute)

// // 路由守卫
// router.beforeEach((to, from, next) => {
//   let adminRoute = router.options.routes[0]
//   // 第1次添加进去
//   // 这个判断一定要加，否则会有死循环
//   if (to.path !== '/login' && adminRoute.children.length === 0) {
//     let newRoutes = dyroutes.filter(item => store.getters.routes.includes('/admin/' + item.path))
//     adminRoute.children.unshift(...newRoutes)
//     // 动态添加一个新的路由
//     router.addRoute(adminRoute);
//     // 重定向,为了让刚刚添加的路由规则生效
//     next({
//       path: to.path,
//       replace: true
//     })
//   } else {
//     next()
//   }
// })


Vue.config.productionTip = false
new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')